home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / utility3 / makemdi2.zip / MAKEFILE < prev    next >
Text File  |  1992-11-25  |  3KB  |  120 lines

  1. #=========================================================
  2. #
  3. # nmake         - build DEBUG version (default)
  4. # nmake SHIP=1  - build ship version (nmake clean first!)
  5. #
  6. #=========================================================
  7. #
  8. # Default definitions
  9. #
  10. NAME=makemdi
  11. MODEL=M
  12.  
  13. !if "$(SHIP)"==""
  14. SHIP=0
  15. !endif
  16.  
  17. DEFS=-DSTRICT -DWINDOWS
  18.  
  19. #=========================================================
  20. #
  21. # Debug options
  22. #
  23. !if $(SHIP)==0
  24. #
  25. # CodeView only:
  26. #
  27. DEBUG_CFLAGS=/DDEBUG /Od /Zi -Yd
  28. DEBUG_AFLAGS=/DDEBUG /Zi
  29. DEBUG_LFLAGS=/CO /M /LI
  30. #
  31. # symdeb/wdeb386:
  32. #
  33. # DEBUG_CFLAGS=/DDEBUG /Od
  34. # DEBUG_AFLAGS=/DDEBUG
  35. # DEBUG_LFLAGS=/MAP
  36. # DEBUG_MAPSYM=mapsym $(NAME)
  37. !else
  38. #
  39. # Non-debug options
  40. #
  41. DEBUG_CFLAGS=/DNDEBUG /Oegilt
  42. DEBUG_AFLAGS=
  43. DEBUG_LFLAGS=
  44. DEBUG_MAPSYM=
  45. !endif
  46.  
  47. #=========================================================
  48. #
  49. # Default compiler, assembler, linker flags
  50. #
  51. CFLAGS=$(DEBUG_CFLAGS) /nologo /W3 /A$(MODEL) /G2swc /Zp $(DEFS)
  52. AFLAGS=$(DEBUG_AFLAGS) /W2 /p $(DEFS)
  53. LFLAGS=$(DEBUG_LFLAGS) /NOD /NOE
  54.  
  55. #=========================================================
  56. #
  57. # Libraries
  58. #
  59. LIBS=libw $(MODEL)libcew commdlg
  60.  
  61. #=========================================================
  62. #
  63. # Build rules
  64. #
  65. .SUFFIXES: .c .asm .rc .obj .res
  66.  
  67. .c.obj:
  68.     @echo Compiling $(@B).c
  69.     @cl -Yu$(NAME).h $(CFLAGS) -c $*.c > $(@B).err
  70.  
  71. .asm.obj:
  72.     @masm $(AFLAGS) $*.asm;
  73.  
  74. .rc.res:
  75.     @rc /r $*.rc
  76.  
  77. #=========================================================
  78. #
  79. # Pseudo targets
  80. #
  81. target: $(NAME).exe
  82.  
  83. clean:
  84.     -del *.obj
  85.     -del *.pch
  86.     -del $(NAME).exe
  87.     -del $(NAME).res
  88.     -del $(NAME).sym
  89.     -del $(NAME).map
  90.  
  91. #=========================================================
  92. #
  93. # File dependencies
  94. #
  95. OBJ=            app.obj client.obj
  96. CLASSES=        frame.obj ribbon.obj chart.obj sheet.obj
  97.  
  98. $(NAME).res:    $(NAME).rc resource.h $(CLASSES:obj=rc)
  99. app.obj:        app.c        $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  100. client.obj:        client.c    $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  101. frame.obj:        frame.c        $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  102. ribbon.obj:        ribbon.c    $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  103. chart.obj:        chart.c        $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  104. sheet.obj:        sheet.c        $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  105.  
  106. $(NAME).pch:    $(NAME).c    $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
  107.     @echo Compiling $(@B).c
  108.     @cl -Yc$(NAME).h $(CFLAGS) -c $*.c > $(@B).err
  109.  
  110. $(NAME).exe:    $(NAME).res $(NAME).pch $(OBJ) $(CLASSES) makefile $(NAME).def
  111.     link /nologo @<<
  112. $(OBJ) $(CLASSES)
  113. $(NAME).exe
  114. $(NAME).map
  115. $(LIBS)
  116. $(NAME).def $(LFLAGS);
  117. <<
  118.     rc $(NAME).res
  119.     mapsym $(NAME)
  120.